# JSON: JSON是一种轻量级的数据交换格式

# 标准的JSON数据格式:
# {
#   "name": "张三",
#   "age": 30,
#   "is_student": false,
#   "courses": ["数学", "英语"],
#   "address": {
#     "city": "北京",
#     "street": "长安街"
#   }
# }

# 1. JSON与Python数据类型的对应关系
# JSON类型	                Python类型
# object(对象)	            dict(字典)
# array(数组)	            list(列表)
# string(字符串)	            str(字符串)
# number(数字)	            int/float(整型,浮点型)
# true/false(布尔值)	        True/False(布尔值)
# null(空值)	                None(空值)

# 2. json语法
# json的本质是一个字符串!!!!!!!!
# 使用花括号“{}”包围。
# 每个键值对由一个键和一个值组成，键和值之间用冒号“:”分隔，键值对之间用逗号“,”分隔。
# 最后一个键值对后面不能加逗号
# 键必须是字符串，并且用双引号""包围。
# 值可以是字符串、数值、布尔值、数组、对象或“null”。

# 3. 将Python对象(字典)转换为JSON字符串（序列化）
# import json
# data = {
#     "name": "张三",
#     "age": 30,
#     "is_student": False,
#     "courses": ["数学", "英语"],
#     "address": {
#         "city": "北京",
#         "street": "长安街"
#     },
#     "test":None
# }
# json_str = json.dumps(data,indent=4, sort_keys=True, ensure_ascii=False)
# print(json_str)

# 将JSON字符串转换为Python对象（反序列化）
# import json
# json_data = '''
# {
#     "name": "李四",
#     "age": 25,
#     "is_student": true,
#     "courses": ["物理", "化学"],
#     "address": {
#         "city": "上海",
#         "street": "南京路"
#     }
# }
# '''
# python_data = json.loads(json_data)
# print(python_data)



